/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import Entidades.Cliente;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

/**
 *
 * @author Thalyta
 */
public final class PersistenciaCliente {
  
  private static ArrayList<Cliente> cliente;

   
    
    public PersistenciaCliente() {
        
         cliente = new ArrayList();
        leituraCliente();
    }
    
    public void leituraCliente() {
        try {
            File arq = new File("src/AquirvosTXT/Clientes.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            FileInputStream fi = new FileInputStream(arq.getAbsolutePath());
            try (ObjectInputStream oi = new ObjectInputStream(fi)) {
                cliente = (ArrayList) oi.readObject();
            }
        } catch (IOException | ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }
    }

    public void gravaCliente() {
        try {
            FileOutputStream fo = new FileOutputStream("src/AquirvosTXT/Clientes.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            try (ObjectOutputStream oo = new ObjectOutputStream(fo)) {
                oo.writeObject(cliente);
            }
            System.out.println("Dados gravados com sucesso");
        } catch (Exception e) {
            System.err.println("Erro ao serializar " + e.getMessage());
        }  
}
    
    public Cliente PesquisaCliente(String cod){
        
           Cliente clientes = null;
        int i;
        for (i = 0; i < cliente.size(); i++){
            
        if (cod.equals(cliente.get(i).getNome()) == true)
                clientes = cliente.get(i) ;
              
                
        }
         return clientes;
      
    } 
    public void excluirCliente(Cliente a){
        
        int i;
        for (i = 0; i < cliente.size(); i++){
            
            if (a.getNomeusuario().equals(cliente.get(i).getNomeusuario()))
                cliente.remove(i);
                
        }
    }

    public ArrayList<Cliente> getCliente() {
        return cliente;
    }

    public  void setCliente(ArrayList<Cliente> cliente) {
        PersistenciaCliente.cliente = cliente;
    }

  
    
  

    
    public void adicinarCliente(Cliente a){
        cliente.add(a);
    }
 
public int tam(){

   int tam ;
   tam = this.cliente.size();
    return tam ;

}
}
